#ifndef SUBSETIDCRITERION_H_
#define SUBSETIDCRITERION_H_

#include "selectioncriterion.h"
#include <QtCore/QList>


/*!
 * Criterio de seleccion que solo acepta triangulos cuyas ID esten presentes en una lista (definida
 * al construir este criterio)
 */
class SubSetIdCriterion : public SelectionCriterion
{
protected:
	/*!
	 * Lista con los ID de triangulos aceptados
	 */
	QList<int> acceptedIds;
public:
	/*!
	 * Constructor del criterio de seleccion basado en ID.
	 * \param  _acceptedIds una lista de enteros con las ID aceptadas
	 */
	SubSetIdCriterion(QList<int> _acceptedIds);
	/*!
	 * Constructor del criterio de seleccion basado en ID. No tiene elementos en la lista
	 * por lo que no acepta ningun triangulo.
	 */
	SubSetIdCriterion();
	/*!
	 * Destructor
	 */
	virtual ~SubSetIdCriterion(){};
	/*!
	 * Retorna verdadero si el triangulo pertenece a la seleccion
	 */
	virtual bool isSelected(Triangle *t);
};

#endif /*SUBSETIDCRITERION_H_*/
